package com.yxx.service;

import com.yxx.entityModel.vo.Result.PageResult;
import com.yxx.entityModel.vo.Result.ResponseResult;
import com.yxx.entityModel.vo.query.AlbumQuery;
import com.yxx.entityModel.vo.request.AlbumRequest;
import com.yxx.entityModel.vo.response.AlbumBackResponse;
import com.yxx.entityModel.vo.response.AlbumResponse;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @author yuxiangxun
 * @date 2025/2/11
 * @apiNote
 */
public interface AlbumService {
    /**
     * 查看后台相册列表
     * @param albumQuery
     * @return
     */
    PageResult<AlbumBackResponse> listAlbumBackVO(AlbumQuery albumQuery);

    /**
     * 上传相册封面
     * @param file
     * @return
     */
    String uploadAlbumCover(MultipartFile file);

    /**
     * 添加相册
     * @param albumRequest
     */
    void addAlbum(AlbumRequest albumRequest);

    /**
     * 删除相册
     * @param albumId
     */
    void deleteAlbum(Integer albumId);

    /**
     * 修改相册
     * @param albumRequest
     */
    void updateAlbum(AlbumRequest albumRequest);

    /**
     * 编辑相册
     * @param albumId
     * @return
     */
    AlbumRequest editAlbum(Integer albumId);

    /**
     * 查看相册列表
     * @return
     */
    List<AlbumResponse> listAlbumVO();

}
